size <- 12. Later this will be
the number of rows of the matrix.x <- rnorm( size ).x1 by adding (on average 10
times smaller) noise to x:
x1 <- x + rnorm( size )/10.x and x1 should be
close to 1.0: check this with function cor.x2 and x3 by
adding (other) noise to x.size <- 12
x <- rnorm( size )
x1 <- x + rnorm( size )/10
cor( x, x1 )
[1] 0.9961529
x2 <- x + rnorm( size )/10
x3 <- x + rnorm( size )/10
x1, x2 and x3
column-wise into a matrix using
m <- cbind( x1, x2, x3 ).m.m.heatmap( m, Colv = NA, Rowv = NA, scale = "none" ).m <- cbind( x1, x2, x3 )
class( m )
[1] "matrix" "array"
head( m )
x1 x2 x3
[1,] -0.22824941 -0.2307150 -0.04242655
[2,] 0.35749427 0.4672000 0.45991992
[3,] -0.03385298 -0.3076490 -0.08416328
[4,] -0.03649640 -0.1636602 -0.06871867
[5,] 1.32676841 1.4106752 1.26874089
[6,] 1.39262403 1.0722184 1.08261799
heatmap( m, Colv = NA, Rowv = NA, scale = "none" ) # high is dark red, low is yellow
# x1, x2, x3 follow similar color pattern, they should be correlated
y1…y4 (but not correlated with
x), of the same length size.m from columns
x1…x3,y1…y4 in some
random order.y <- rnorm( size )
y1 <- y + rnorm( size )/10
y2 <- y + rnorm( size )/10
y3 <- y + rnorm( size )/10
y4 <- y + rnorm( size )/10
m <- cbind( y4, y3, x2, y1, x1, x3, y2 )
heatmap( m, Colv = NA, Rowv = NA, scale = "none" ) # high is dark red, low is yellow
cc <- cor( m ) to build the matrix of correlation
coefficients between columns of m.round( cc, 3 ) to show this matrix with 3 digits
precision.cc <- cor( m )
round( cc, 3 ) #
y4 y3 x2 y1 x1 x3 y2
y4 1.000 0.987 0.174 0.988 0.185 0.173 0.987
y3 0.987 1.000 0.222 0.989 0.217 0.220 0.980
x2 0.174 0.222 1.000 0.214 0.990 0.993 0.145
y1 0.988 0.989 0.214 1.000 0.217 0.214 0.972
x1 0.185 0.217 0.990 0.217 1.000 0.993 0.162
x3 0.173 0.220 0.993 0.214 0.993 1.000 0.158
y2 0.987 0.980 0.145 0.972 0.162 0.158 1.000
heatmap( cc, symm = TRUE, scale = "none" )
# E.g. value for (row: x1, col: y1) is the corerlation of vectors x1, y1.
# Values of 1.0 are on the diagonal: e.g. x1 is perfectly correlated with x1.
# Correlations between x, x vectors are close to 1.0.
# Correlations between y, y vectors are close to 1.0.
# Correlations between x, y vectors are close to 0.0.
Copyright © 2022 Biomedical Data Sciences (BDS) | LUMC